package org.springblade.modules.admin.vo;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.modules.admin.entity.MaintainCheckRecord;

import java.util.HashMap;
import java.util.List;

/**
 * @Date 9:33 2025/4/14
 * @Description {
 *
 * }
 * @Author lsay
 **/
@Data
public class PlanAbarbeitungByContentVO {

	/**
	 * 工作项问题记录id
	 */
	private Long byScoreQuestionId;
	/**
	 * 计划任务id
	 */
	@ApiModelProperty(value = "计划任务id")
	private Long planId;
	/**
	 * 项目id
	 */
	@ApiModelProperty(value = "项目id")
	private Long buildingId;
	/**
	 * 电梯id
	 */
	@ApiModelProperty(value = "电梯id")
	private Long elevatorId;
	/**
	 * 工作项记录id
	 */
	@ApiModelProperty(value = "工作项记录id")
	private Long checkHistoryId;
	/**
	 * 工作项id
	 */
	@ApiModelProperty(value = "工作项id")
	private Long templateContentId;
	/**
	 * 工作项名称
	 */
	@ApiModelProperty(value = "工作项名称")
	private String name;
	/**
	 * 位置分类id
	 */
	@ApiModelProperty(value = "位置分类id")
	private String locationType;
	/**
	 * 位置分类名称
	 */
	@ApiModelProperty(value = "位置分类名称")
	private String locationTypeName;
	/**
	 * 问题描述
	 */
	@ApiModelProperty(value = "问题描述")
	private String questionDesc;
	/**
	 * 子工单类型1：保养2：维修和工单类型保持一致
	 */
	@ApiModelProperty(value = "子工单类型1：保养2：维修和工单类型保持一致")
	private Integer childPlanType;
	/**
	 * 子工单id
	 */
	@ApiModelProperty(value = "子工单id")
	private Long childPlanId;
	/**
	 * 子工单创建人id
	 */
	@ApiModelProperty(value = "子工单创建人id")
	private Long childPlanCreateUser;
	/**
	 * 子工单创建人名称
	 */
	@ApiModelProperty(value = "子工单创建人名称")
	private String childPlanCreateUserName;

	@ApiModelProperty(value = "1:签到业务0:非签到业务")
	private Integer isSign;

	@ApiModelProperty(value = "模板名称")
	private String templateName;

	@ApiModelProperty(value = "模板id")
	private Long templateId;

	@ApiModelProperty(value = "模板下标方便前端处理业务逻辑")
	private Integer templateIndex;

	@ApiModelProperty(value = "模板下标方便前端处理业务逻辑")
	private Integer nextIndex;

	@ApiModelProperty("模板分类名称多级 &&隔开")
	private String tltNames;

	@ApiModelProperty("模板分类id多级 &&隔开")
	private String tltIds;

	/**
	 * 评分问题id
	 */
	@ApiModelProperty(value = "评分问题id")
	private Long scoreIssueId;

	/**
	 * 评分问题是否可以申诉 1-不可以 2-可以
	 */
	@ApiModelProperty(value = "评分问题是否可以申诉 1-不可以 2-可以")
	private Integer scoreIssueStatus;

	/**
	 * 子工单工作项历史id
	 */
	private Long childPlanCheckHistoryId;

	/**
	 * 签到业务图片
	 */
	private String signImg;

	private String requireDesc;

	@TableField(typeHandler = JacksonTypeHandler.class)
	private List<HashMap<String,Object>> requireImg;

	@TableField(typeHandler = JacksonTypeHandler.class)
	private JSONObject recordData;

	private List<MaintainCheckRecord> checkRecords;

	/**
	 * 申诉id
	 */
	private Long appealId;

	/**
	 * 申诉描述
	 */
	private String appealDesc;

	/**
	 * 申诉图片或视频
	 */
	@TableField(typeHandler = JacksonTypeHandler.class)
	private List<HashMap<String,Object>> appealImg;

}
